#ifndef ELEVATOR_H
#define ELEVATOR_H

#include "WPILib.h"

//------------------------------------------------------------------------------
// DEFINE Elevator CLASS
//------------------------------------------------------------------------------
//
//------------------------------------------------------------------------------
class Elevator
{
	public:
        static const bool kElevatorAtTarget = true;
		Elevator();
		~Elevator();
		bool    MoveElevator(float elevDSPos);
		double  GetPosition();
		void    SetDistancePerPulse(float DIST_PER_PULSE);
		void    ResetEncoders();
	protected:
		INT32   CalcElevatorTarget(float elevDSPos);
		void    MoveElevatorUp();
		void    MoveElevatorDown();
		static const INT32 UP_BUFFER       = 5;
		static const INT32 DOWN_BUFFER     = 5;
		static const float ELEV_CALC_RATIO = 1.50000;
		static const float ELEV_CALC_CONST = 3.00000;
		bool    elevatorAtTarget;
		INT32   newTargetHeight;
		INT32   savedHeight;
		INT32   elevatorTargetDown;
		INT32   elevatorTargetUp;
		Talon   *pElevatorMotor;
		Encoder *pElevatorHeight;
	private:
};
#endif
